
// 封装成vue 的插件

import GeekIcon from './geek-icon.vue'
// 时间插件
import dayjs from 'dayjs'
// dayjs计算相对时间的模块
import relativeTime from 'dayjs/plugin/relativeTime'
// 导入语言包
import 'dayjs/locale/zh-cn'
// 把relativeTime模块的api扩展dayjs上
dayjs.extend(relativeTime)
// 使用语言包
dayjs.locale('zh-cn')

// 循环
const cps = [GeekIcon]

export default {
  install (Vue) {
    // console.log(Vue)
    // vue 就是构造函数，注册全局组件，指令过滤器原型属性
    // 扩展vue原来的功能认为vue插件
    // 当vue.use()的时候,就会执行install函数默认传人vue构造函数
    // Vue.component(GeekIcon.name, GeekIcon) // 未优化写法
    cps.forEach(cp => {
      // console.log(cp)
      Vue.component(cp.name, cp)
    })
    // 过滤器 转换
    Vue.filter('relativeTime', (value) => {
      // 把value转换成相对时间
      // 使用dayjs来转换相对时间
      // dayjs(value) 时间对象 里面有一个toNow() api 和现在时间进行比较，得到一个相对时间
      const relTime = dayjs(value).toNow()
      return relTime
    })
  }
}
